//
//  HQHttpManager.h
//  BeeServer
//
//  Created by ISU1 on 16/5/10.
//  Copyright © 2016年 HQ. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "CodingTools.h"
typedef NS_ENUM(NSInteger, RequestMethodType){
    RequestMethodTypePost = 1,
    RequestMethodTypeGet = 2
};

@interface HQHttpManager : NSObject
#pragma mark BaseRequest
/**
 *  发送一个请求
 *
 *  @param methodType   请求方法
 *  @param url          请求路径
 *  @param params       请求参数
 *  @param success      请求成功后的回调（请将请求成功后想做的事情写到这个block中）
 *  @param failure      请求失败后的回调（请将请求失败后想做的事情写到这个block中）
 */
+(void) requestWihtMethod:(RequestMethodType)methodType
                      url:(NSString *)url
                   params:(NSDictionary *)params
                  success:(void (^)(id response))success
                  failure:(void (^)(NSError *err))failure;
#pragma mark 获取用户三方登录标志
+ (NSString *)getUserThirdNO;
#pragma mark 获取用户三方登录Type
+ (NSString *)getThirdType;
#pragma mark 获取用户id
+ (NSString *)getUserId;
#pragma mark 获取用户Token
+ (NSString *)getUserToken;
#pragma mark 用户账号
+ (NSString*)userAccount;
#pragma mark 用户密码
+ (NSString*)userPassword;
#pragma mark 获取用户sex
+ (NSString *)getUserSex;
#pragma mark 获取融云用户id
+ (NSString *)getRCIMUserId;
#pragma mark 用户昵称
+ (NSString *)userNickName;
#pragma mark 用户头像
+ (NSString *)userPhoto;
#pragma mark 用户头像
+ (NSString *)userBackground;
#pragma mark 用户生日
+ (NSString *)userBirthday;

/**
 *  2.2.34.	黑名单列表
 */
+ (void)myBlackListWithUid:(NSString *)uid
                      page:(NSNumber *)page
              successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.35.	恢复拉黑
 */
+ (void)reBlackFriendWithUid:(NSString *)uid
                         wid:(NSNumber *)wid
                successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.13.	上传用户当前位置
 */
+ (void)putLocationWithUid:(NSString *)uid
                       lon:(NSNumber *)lon
                       lat:(NSNumber *)lat
                  location:(NSString *)location
              successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.12.	重置密码
 */
+ (void)resetPasswordWithMobile:(NSString *)mobile
                       password:(NSString *)password
                   successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.11.	赴约状态
 */
+ (void)joinStatusWithUid:(NSString *)uid
                  trystId:(NSString *)trystId
             successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.10.	同意或拒绝参加
 */
+ (void)updateJoinWithUid:(NSString *)uid
                  trystId:(NSString *)trystId
                   status:(NSInteger)status
             successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.1.1.	获取验证码
 */
+ (void)getCodeWithAccout:(NSString *)account
                     type:(NSString *)type
             successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.16.	动态点赞
 */
+ (void)addPraiseWithUid:(NSString *)uid
                circleId:(NSInteger)circleId
                 trystId:(NSInteger)trystId
                    type:(NSInteger)type
            successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.19.	删除动态
 */
+ (void)delActiveWithUid:(NSString *)uid
                circleId:(NSInteger)circleId
                 trystId:(NSInteger)trystId
            successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.7.	参加约会
 */
+ (void)addJoinWithUid:(NSString *)uid
               trystId:(NSInteger)trystId
          successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.1.	累计多少人喜欢我
 */
+ (void)mfWithUid:(NSString *)uid
     successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
    动态个数
 @param count 个数
 @param successBlock 回调
 */
+ (void)mfWithCount:(NSString *)count
       successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.13.	评论动态
 */
+ (void)addCommentWithUid:(NSString *)uid
                 circleId:(NSInteger)circleId
                  trystId:(NSInteger)trystId
                  content:(NSString *)content
             successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.2.	登录
 */
+ (void)userLoginWithAccout:(NSString *)account
                   password:(NSString *)password
                    thirdNO:(NSString *)thirdNO
                  thirdType:(NSString *)thirdType
                       mode:(NSString *)mode
                   nickName:(NSString *)nickName
                   deviceNo:(NSString *)deviceNo
               successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.1.	注册
 */
+ (void)registerWithAccout:(NSString *)account
                  password:(NSString *)password
              successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.5.	发布邀约
 */
+ (void)addTrystWithUid:(NSString *)uid
              trystType:(NSNumber *)trystType
                thirdNo:(NSString *)thirdNo
             trystPlace:(NSString *)trystPlace
                funName:(NSString *)funName
              trystTime:(NSString *)trystTime
                hopeSex:(NSNumber *)hopeSex
                 whoPay:(NSNumber *)whoPay
              howArrive:(NSNumber *)howArrive
               hopeNote:(NSString *)hopeNote
                    img:(NSString *)img
               location:(NSString *)location
                seeType:(NSNumber *)seeType
               somebody:(NSString *)somebody
                 remind:(NSString *)remind
           SuccessBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.19.	礼物列表
 */
+ (void)giftListWithSuccessBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.4.	删除相册
 */
+ (void)delAlbumWithAlbumId:(NSString *)albumId
               SuccessBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.15.	退出约会
 */
+ (void)outTrystWithTrystId:(NSInteger)trystId
               SuccessBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.6.	个人信息2
 */
+ (void)userInfo2WithUid:(NSString *)uid
            successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.4.4.	添加话题讨论
 */
+ (void)addTalkWithUid:(NSString *)uid
               topicId:(NSNumber *)topicId
                   img:(NSString *)img
          successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.5.	个人信息设置
 */
+ (void)updateUserWithUid:(NSString *)uid
                   mobile:(NSString *)mobile
                    photo:(NSString *)photo
                    motto:(NSString *)motto
                      sex:(NSNumber *)sex
                 nickName:(NSString *)nickName
                 birthday:(NSString *)birthday
                   animal:(NSString *)animal
                   height:(NSString *)height
                   weight:(NSString *)weight
                affection:(NSString *)affection
                    email:(NSString *)email
                      job:(NSString *)job
                 hometown:(NSString *)hometown
               activeSite:(NSString *)activeSite
                    skill:(NSString *)skill
                wantSkill:(NSString *)wantSkill
                      zfb:(NSString *)zfb
                  zfbName:(NSString *)zfbName
                  cardImg:(NSString *)cardImg
                    video:(NSString *)video
                  privacy:(NSNumber *)privacy//开启传1 关闭传 0
                 isShield:(NSNumber *)isShield
              successBlock: (void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.1.2.	上传文件
 */
+ (void)uploadimgsWithImage:(UIImage *)image
                     belong:(NSString *)belong
                    toAlbum:(NSNumber *)toAlbum
                    albumId:(NSNumber *)albumId
               successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.3.	批量校验手机号
 */
+ (void)checkMobilesWithMobile:(NSArray *)mobile
                           uid:(NSString *)uid
                  successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;



/**
 *  2.2.15.	闪约宝贝详情
 */
+ (void)sInfoWithUid:(NSString *)uid
                myId:(NSString *)myId
        successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.29.	申请添加好友
 */
+ (void)helloWithUid:(NSString *)uid
                 wid:(NSNumber *)wid
              mobile:(NSString *)mobile
        successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.33.	我的群列表
 */
+ (void)myGroupListWithUid:(NSString *)uid
              successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.21.	处理喜欢
 */
+ (void)pickWooWithUid:(NSString *)uid
                   wid:(NSNumber *)wid
                  type:(NSNumber *)type
          successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.20.	谁喜欢我列表
 */
+ (void)getwhoWooMeListWithUid:(NSString *)uid
                           lon:(NSNumber *)lon
                           lat:(NSNumber *)lat
                          page:(NSNumber *)page
                  successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.23.	清空喜欢
 */
+ (void)emptyWooWithUid:(NSString *)uid
           successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.24.	查看她的问题
 */
+ (void)getAskByIdWithUid:(NSString *)uid
                      wid:(NSNumber *)wid
                    askId:(NSNumber *)askId
               userGiftId:(NSNumber *)userGiftId
             successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.26.	领取礼物
 */
+ (void)receiveGiftWithUserGiftId:(NSString *)userGiftId
                     successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.28.	我的好友
 */
+ (void)myFriendListWithUserid:(NSString *)uid
                  successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 * 2.2.32. 删除好友
 */
+ (void)deleteFriendListWithUserid:(NSString *)uid andWid:(NSString *)wid successBlock:(void (^)(BOOL isSuccess, NSDictionary *resultDic))successBlock ;

/**
 *  2.2.31.	新的朋友
 */
+ (void)myNewFriendListWithUid:(NSString *)uid
                          page:(NSNumber *)page
                  successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.2.30.	接受申请
 */
+ (void)acceptWithUid:(NSString *)uid
                  wid:(NSNumber *)wid
         successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.4.1.	话题轮播图
 */
+ (void)topicScrollPictureWithUid:(NSString *)uid
                     successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.3.11.	朋友圈（动态列表）
 */
+ (void)activeListWithUid:(NSString *)uid
                    herId:(NSString *)herId
                     page:(NSNumber *)page
             successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

//朋友圈回复消息点击请求详情
+(void)FriendNewhistoryCircleId:(NSString *)circleId
                   successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;


/**
 *  2.4.2.	创建话题
 */
+ (void)addTopicWithUid:(NSString *)uid
              topicType:(NSNumber *)topicType
              topicName:(NSString *)topicName
              topicNote:(NSString *)topicNote
               isReward:(NSNumber *)isReward
                endTime:(NSString *)endTime
           successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.4.3.	话题列表
 */
+ (void)topicListWithTopicType:(NSNumber *)topicType
                          page:(NSNumber *)page
                  successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.4.5.	话题讨论列表
 */
+ (void)talkListWithTopicId:(NSNumber *)topicId
                       sort:(NSNumber *)sort
                       page:(NSNumber *)page
               successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.4.6.	点赞讨论
 */
+ (void)addPraiseWithTalkId:(NSNumber *)talkId
                        uid:(NSString *)uid
               successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.4.7.	评论讨论
 */
+ (void)addCommentWithTalkId:(NSNumber *)talkId
                     content:(NSString *)content
                         uid:(NSString *)uid
                successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  2.4.8.	讨论评论列表
 */
+ (void)commentListWithTalkId:(NSNumber *)talkId
                         page:(NSNumber *)page
                 successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  4.2.1.	图片上传接口 B001 可测试
 *
 *  @param img          图片流
 *  @param imgBelong    图片所属类型 uHeadImg用户头像，idCardImg 身份证图片 hpCardImg房产证图片 cleanSheetImg 保洁完工图片 
                                   repairSheetImg 维修完工图片
 *  @param successBlock 成功返回
 */
+ (void)uploadImageWithImage:(UIImage *)img
                   imgBelong:(NSString *)imgBelong
                successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;



@end
